<?php
    //phpinfo();
    session_start();
    include "database.php";
		/*include "/clases/DirectorTorneo.php";
		include "/clases/Usuario.php";*/
    
		$conexion = crear_conexion($host, $user, $password, $dbname);
		
		if(!$conexion){
			echo "Ha ocurrido un error en la conexion a la base de datos\n";
			exit;
    }
		
		$login = $_POST["loginUsuario"];
		$passwd = $_POST["passwordUsuario"];
		$json = "{}";
		$susses = "false";
		
		// Funcion que construye el json con los atributos de un usuario
		function construirJsonUsuario($susses, $perfil, $login) {
			return "{susses: '".$susses."', perfil: '".$perfil."', login: '".$login."'}";
		}
		
		// Consultar la base de datos en la tabla Usuarios para validar los datos del usuario.
		$resultado = consulta_base_de_datos("SELECT num_documento, id_perfil, password FROM usuarios WHERE num_documento = '".$login."' AND activo = true;", $conexion);
		
		// Validar si la consulta tiene resultados
		if(!$resultado){
			//echo "Ha ocurrido un error, perfil de usuario desconosido.\n";
			//echo exit;
			$susses = "false";
    }
		
		// La tupla que se obtiene del resultado es unica, y contiene los nombres y apellidos
		$tupla = obtener_resultados($resultado);
		
		// Valida el password con el que esta en la tupla
		if($passwd == $tupla[2] && isset($tupla[2])){
			$susses = "true";
			crearObjetoUsuario($susses, $tupla[1], $tupla[0], $conexion);
		} else {
			$susses = "false";
		}
		
		// Contruye el objeto json
		$json = construirJsonUsuario($susses, $tupla[1], $tupla[0]);
		
		// Escribe el objeto json
		echo $json;
		
		// Funcion que crea un objeto para el usuario que se logea, y lo estable como variable de sesion.
		function crearObjetoUsuario($susses, $perfil, $login, $conexion) {
			if($susses == "true") {
				if($perfil == 0) {
					//$usuarioRoot = new Root();
					//$_SESSION["USUARIO"] = $usuarioRoot;
				}
				if($perfil == 1) {
					$tuplaUsuario = consultarUsuario($perfil, $login, $conexion);
					//var_dump($conexion);
					//var_dump($tuplaUsuario);
					//$usuarioDirectorTorneo = new DirectorTorneo($tuplaUsuario[0], $tuplaUsuario[1], $tuplaUsuario[2], $tuplaUsuario[3], $tuplaUsuario[4], $tuplaUsuario[5], $tuplaUsuario[6], $tuplaUsuario[7], $tuplaUsuario[8], $tuplaUsuario[9], $tuplaUsuario[10], $tuplaUsuario[11], $tuplaUsuario[12], $tuplaUsuario[13], $tuplaUsuario[14], $tuplaUsuario[15], $tuplaUsuario[16]);
					//$usuarioDirectorTorneo = new DirectorTorneo();
					//var_dump($usuarioDirectorTorneo);
					$_SESSION["USUARIO"] = $tuplaUsuario;
				}
				if($perfil == 2) {
					//$usuarioGestorTorneo = new GestorTorneo();
					//$_SESSION["USUARIO"] = $usuarioGestorTorneo;
				}
				if($perfil == 3) {
					//$usuarioJuez = new Juez();
					//$_SESSION["USUARIO"] = $usuarioJuez;
				}
				if($perfil == 4) {
					//$usuarioObservador = new Observador();
					//$_SESSION["USUARIO"] = $usuarioObservador;
				}
				if($perfil == 5) {
					//$usuarioTenista = new Tenista();
					//$_SESSION["USUARIO"] = $usuarioTenista;
				}
			}
		}
		
		// Funcion que se encarga de consultar la tabla de usuario segun el perfil, retorna una tupla
		function consultarUsuario($perfil, $login, $conexion) {
			$resultadoUsuario;
			if($perfil == 0) {
				$resultadoUsuario = consulta_base_de_datos("SELECT * FROM root WHERE num_documento = '".$login."';", $conexion);
			}
			if($perfil == 1) {
				$resultadoUsuario = consulta_base_de_datos("SELECT * FROM directortorneo WHERE num_documento = '".$login."';", $conexion);
			}
			if($perfil == 2) {
				$resultadoUsuario = consulta_base_de_datos("SELECT * FROM gestortorneo WHERE num_documento = '".$login."';", $conexion);
			}
			if($perfil == 3) {
				$resultadoUsuario = consulta_base_de_datos("SELECT * FROM juez WHERE num_documento = '".$login."';", $conexion);
			}
			if($perfil == 4) {
				$resultadoUsuario = consulta_base_de_datos("SELECT * FROM observador WHERE num_documento = '".$login."';", $conexion);
			}
			if($perfil == 5) {
				$resultadoUsuario = consulta_base_de_datos("SELECT * FROM tenista WHERE num_documento = '".$login."';", $conexion);
			}
			// La tupla que se obtiene del resultado es unica
			$tuplaUsuario = obtener_resultados($resultadoUsuario);
			return $tuplaUsuario;
		}

?>